home *** CD-ROM | disk | FTP | other *** search
/ 8bitfiles.net/archives / archives.tar / archives / compuserve-file-archive / 12 C64 Telecom / SXP681.ARC / EXPAND / SHRINK64B (.txt)
Encoding:
Commodore BASIC  |  2019-04-13  |  3.6 KB  |  92 lines

  1. 10 GOTO20:REM VERSION 2.3
  2. 13 PRINT#1,M$CHR$(G)CHR$(H)Y$:INPUT#1,S1,S1$,S1,S1:RETURN
  3. 15 JT=2
  4. 20 IFJT=1THENPRINT"":GOTO95
  5. 25 POKE53280,11:POKE53281,0:POKE646,3:Y$=CHR$(.):M$="P"+CHR$(99):R$=CHR$(13)
  6. 30 SI=300:DIMU$(SI),MG$(3,7),TB$(31):REM ADJUST SI IF TOO SMALL
  7. 35 A$=" ":FORX=1TO7:X$=X$+X$+A$:NEXT:X$=X$+X$+A$:C=256:Q$=CHR$(34)
  8. 40 PRINT"[147]       [205]ESSAGE [194]ASE [197]XPAND/[211]HRINK
  9. 45 [153]"           BY MID$ASON (null)AC RIGHT$NNES
  10. 50 PRINT"         FOR [211]PENCE [216][208] 6.4 BY
  11. 55 [153]"     (null)EN (null)PENCE, MID$AMES (null)ACASCARLANE,
  12. 60 PRINT"  [194]RUCE [214]RIELING, AND [202]ASON [205]AC [201]NNES
  13. 65 [153]"   (LEN)OPYRIGHT 1994 MID$ASONCLOSE(null)AC RIGHT$NNES
  14. 70 IFJT=2THEN95
  15. 75 PRINT" [208]LEASE PLACE A DISK WITH [211]PENCE [205][204]6.X
  16. 80 [153]"    IN STR$EVICE 8:0 AND PRESS (null)VAL(null)(null)(null)(null).
  17. 85 GETA$:IFA$<>R$THEN85
  18. 90 JT=1:LOAD"SPENCE ML6.*",8,1
  19. 95 PRINT"  [208]LEASE PLACE YOUR [194][194][211] DATA DISK IN  "
  20. 100 PRINT"     [196]EVICE 8:0 AND PRESS [210][197][212][213][210][206].  "
  21. 105 GETA$:IFA$<>R$THEN105
  22. 110 CLOSE9:OPEN9,8,2,"0:CUSTOM":INPUT#9,PS$:INPUT#9,A$
  23. 115 LF=VAL(A$):INPUT#9,DR$:DR=VAL(DR$):IFDR=-1THEN125
  24. 120 DIMDR$(4,DR):FORX=.TODR:FORY=1TO3:INPUT#9,DR$(Y,X):NEXTY,X
  25. 125 INPUT#9,MG$:MG=VAL(MG$):FORX=.TOMG:FORY=.TO3:INPUT#9,MG$(Y,X):NEXTY,X
  26. 130 FORX=.TOMG:MG(X)=1:IFLEFT$(MG$(.,X),1)="-"THENMG(X)=-1:MG$(.,X)=MID$(MG$(.,X),2)
  27. 135 NEXT:INPUT#9,NC$:NC=VAL(NC$):FORX=.TONC:INPUT#9,C$(X):NEXT
  28. 140 INPUT#9,A$:BD=VAL(A$):INPUT#9,BD$,UM$,PG$,A$,LD$,SU$,NB$,EZ$,CG$
  29. 145 UM=VAL(UM$):LD=VAL(A$):PG=VAL(PG$):X=.:INPUT#9,PD$,P1$,P2$:P1=VAL(P1$)
  30. 147 INPUT#9,P1$(X):X=X+1:ON-(X<P1+1)GOTO147:X=8
  31. 150 INPUT#9,TB$(X):NB=X-7:X=X+1:IFST=.THEN150
  32. 155 CLOSE9:OPEN9,8,9,"0:STATS":FORX=.TOMG:INPUT#9,SY$(X),R4$(X),AL$(X),RF$(X):NEXT
  33. 160 INPUT#9,US$,OL$,YV$,FB$,BF$:YV=VAL(YV$):IFDR=-1THEN170
  34. 165 FORX=.TODR:INPUT#9,DR$(4,X):NEXT
  35. 170 CLOSE9:US=VAL(US$):GOTO260
  36. 175 PRINT"[211]AVING STATS...":CLOSE9:CLOSE1:OPEN1,8,15,"S0:CUSTOM":OPEN9,8,2,"0:CUSTOM,S,W
  37. 180 [152]9,PS$;R$;[202]([196](LF),2);R$;[196](DR):[139]DR[178][171]1[167]190
  38. 185 [129]X[178].[164]DR:[129]Y[178]1[164]3:[152]9,DR$(Y,X):[130]Y,X
  39. 190 [152]9,[202]([196](MG),2):[129]X[178].[164]MG:[129]Y[178].[164]3:[139]Y[178].[175]MG(X)[179].[167][152]9,"-";
  40. 195 [152]9,MG$(Y,X):[130]Y,X:[152]9,[202]([196](NC),2):[129]X[178].[164]NC:[152]9,C$(X):[130]
  41. 200 [152]9,[202]([196](BD),2);R$;BD$;R$;[202]([196](UM),2);R$;[202]([196](PG),2)
  42. 205 [152]9,[202]([196](LD),2);R$;LD$;R$;SU$;R$;[202]([196](NB),2);R$;EZ$;R$;CG$
  43. 210 [152]9,PD$;R$;P1$;R$;P2$:[129]X[178].[164]P1:[152]9,P1$(X):[130]
  44. 213 [129]X[178]8[164]NB[170]7:[152]9,TB$(X):[130]:[160]9
  45. 215 [160]14:[160]1:[159]1,8,15,"S0:STATS":[152]1,"I0:
  46. 220 OPEN14,8,14,"0:STATS,S,W
  47. 225 [129]X[178].[164]MG:[152]14,SY$(X);R$;R4$(X);R$;AL$(X);R$;RF$(X):[130]
  48. 230 [152]14,[196](US);R$;Q$[170]OL$;R$;[196](YV);R$;FB$;R$;BF$:[139]DR[178][171]1[167]240
  49. 235 [129]X[178].[164]DR:[152]14,DR$(4,X):[130]
  50. 240 [160]14:[160]1
  51. 245 [153]" STR$ONE. LEFT$IT ANY KEY TO RE-START OR (null)(null)(null)(null)
  52. 250 GETA$:IFA$=""THEN250
  53. 255 RUN15
  54. 260 INPUT"[215]HICH [205]ESSAGE [194]ASE";JM$:IFJM$<"0"ORJM$>MG$THENPRINT"[145]";:GOTO260
  55. 265 JM=VAL(JM$):PRINT"[211]IZE IS ";AL$(JM);" OF ";MG$(3,JM)
  56. 270 INPUT"[206]EW MAX SIZE";I$:IFI$=""THENRUN15
  57. 275 UJ=.:Y=VAL(I$):IFY<1THENPRINT"[201]NVALID!":GOTO260
  58. 280 BJ=1:IFVAL(AL$(JM))<VAL(MG$(3,JM))ANDY>VAL(MG$(3,JM))THEN405
  59. 285 IFVAL(AL$(JM))<VAL(MG$(3,JM))ANDY=>VAL(AL$(JM))ANDY<VAL(MG$(3,JM))THENUJ=3:GOTO305
  60. 290 IFVAL(AL$(JM))<VAL(MG$(3,JM))ANDY<VAL(MG$(3,JM))THENUJ=1:GOTO305
  61. 295 IFVAL(AL$(JM))=VAL(MG$(3,JM))ANDY>VAL(MG$(3,JM))THEN305
  62. 300 UJ=2
  63. 305 N=VAL(AL$(JM)):R=VAL(RF$(JM)):MB=VAL(MG$(3,JM)):JM$=MID$(STR$(JM),2)
  64. 310 PRINT"[204]OADING RECORDS...":CLOSE3:CLOSE2:CLOSE1
  65. 315 OPEN1,8,15,"I0:":OPEN3,8,3,"0:[205]ESSAGES"+JM$:IFUJ=2THENFORX=1TOY:GOTO325
  66. 320 REM IFUJ=2THENFORJY=(R-N+1+(MB-Y))TOR:X=JY-(R-N+(MB-Y)):PF=JY:GOTO330
  67. 323 FORX=1TON
  68. 325 PF=R-N+X:IFUJ=2THENPF=R-N+(X+(N-Y))
  69. 330 RC=PF-(INT(PF/MB)*MB)+1:H=INT(RC/C):G=RC-H*C
  70. 335 GOSUB13:SYS49239:A$=X$+"":SYS49227,A$
  71. 340 GOSUB13
  72. 345 A$=LEFT$(A$,PEEK(2025)-1):U$(X)=A$:SYS49239:NEXT
  73. 350 IFUJ=.THENH=INT(Y/C):G=Y-H*C:GOSUB13
  74. 355 IFUJ=.THENPRINT#3,"END":GOSUB13
  75. 360 CLOSE3:CLOSE2:CLOSE1:IFUJTHEN425
  76. 365 PRINT"[211]AVING RECORDS...":IFUJ=2THENN=Y
  77. 370 OPEN1,8,15,"I0:":OPEN3,8,3,"0:[205]ESSAGES"+JM$
  78. 375 FORX=1TON:PF=R-N+X:RC=PF-(INT(PF/Y)*Y)+1
  79. 380 H=INT(RC/C):G=RC-H*C:GOSUB13
  80. 385 PRINT#3,U$(X):GOSUB13:SYS49239:NEXT
  81. 390 CLOSE3:CLOSE2:CLOSE1:FORX=.TOSI:U$(X)="":NEXT:SYS49239
  82. 395 IFUJ>.ANDUJ<3THENAL$(JM)=STR$(Y)
  83. 400 MG$(3,JM)=MID$(STR$(Y),2):GOTO175
  84. 405 CLOSE3:CLOSE2:CLOSE1:OPEN1,8,15,"I0:":OPEN3,8,3,"0:[205]ESSAGES"+JM$
  85. 410 H=INT((Y+1)/C):G=(Y+1)-H*C:GOSUB13:PRINT#3,"END
  86. 415 [141]13:[160]3:[160]2:[160]1
  87. 420 MG$(3,JM)[178][202]([196](Y),2):[137]175
  88. 425 [159]1,8,15,"S0:(null)ESSAGES"[170]JM$:[159]3,8,3,"0:(null)ESSAGES"[170]JM$[170]",L,"[170][199](111)
  89. 430 H[178][181]((Y[170]1)[173]C):G[178](Y[170]1)[171]H[172]C:[141]13:[152]3," "
  90. 435 [141]13:[160]3:[160]2:[160]1
  91. 440 [137]365:(C)OPYRIGHT 1991,92,94 JAS[145] MAC INNES
  92.